// 从 typeorm 库中导入 DataSource 类，用于数据库操作
import { DataSource } from 'typeorm';
// 从当前目录下的实体文件中导入 User 实体类
import { User } from './entities/user.entity';

// 定义用户存储库的提供者数组，用于 NestJS 的依赖注入
export const usersProviders = [
  {
    // 指定提供者的令牌，用于在依赖注入时引用该提供者
    provide: 'USER_REPOSITORY',
    // 使用工厂函数创建 User 实体的存储库实例
    useFactory: (dataSource: DataSource) => dataSource.getRepository(User),
    // 指定工厂函数所需的依赖项令牌
    inject: ['DATA_SOURCE'],
  },
];